# Python 文件I/O
import os

# 读取键盘输入 在Python3中取消了raw_input()函数
# a = raw_input("input:")
# print("你输入的内容是: ", str)

# 文件操作
# 1.1 open=函数
"""
你必须先用Python内置的open()函数打开一个文件，创建一个file对象，相关的方法才可以调用它进行读写。

语法：

file object = open(file_name [, access_mode][, buffering])

各个参数的细节如下：

    file_name：file_name变量是一个包含了你要访问的文件名称的字符串值。
    
    access_mode：access_mode决定了打开文件的模式：只读，写入，追加等。所有可取值见如下的完全列表。这个参数是非强制的，默认文件访问模式为只读(r)。
    
    buffering:如果buffering的值被设为0，就不会有寄存。如果buffering的值取1，访问文件时会寄存行。如果将buffering的值设为大于1的整数，表明了这就是的寄存区的缓冲大小。如果取负值，寄存区的缓冲大小则为系统默认。
"""
# file = open("test.txt", "w")
# # 文件名称
# print(file.name)
# # 检测是否关闭
# print(file.closed)
# file.close()
# print(file.closed)
# # 文件访问模式
# print(file.mode)

# 1.2 write()方法

# fi = open("test.txt", "w")
# fi.write(input("请输入要写入的内容："))
# fi.close()
# f = open("test.txt", "r+")
# print("文件中读取到的内容是：")
# print(f.read(1024))  # 后面添加的1024表示最多读取1024个字符
# f.close()

# 1.3 文件定位
"""
文件定位
tell()方法告诉你文件内的当前位置, 换句话说，下一次的读写会发生在文件开头这么多字节之后。

seek(offset [,from])方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。

如果from被设为0，这意味着将文件的开头作为移动字节的参考位置。如果设为1，则使用当前的位置作为参考位置。如果它被设为2，那么该文件的末尾将作为参考位置。
"""

# # 打开一个文件
# test = open("test.txt", "r+")
# str = test.read(10)
# print("读取的字符串是 : ", str)
# # 查找当前位置
# position = test.tell()
# print("当前文件位置 : ", position)
#
# # 把指针再次重新定位到文件开头
# position = test.seek(0, 0)
# print("当前文件位置 : ", test.tell())
# str = test.read(10)
# print("重新读取字符串 : ", str)
# print("当前文件位置 : ", test.tell())
# # 关闭打开的文件
# test.close()

# 1.4 重命名和删除文件
"""
Python 删除文件，使用os.remove()函数。
语法：
    os.remove(file_name)
参数说明：
    file_name：要删除的文件名。
    
Python 文件重命名：使用os.rename()方法
     rename() 方法需要两个参数，当前的文件名和新文件名。
语法：
    os.rename(current_file_name, new_file_name)
"""

# os.rename("test2.txt", "test.txt")
# print(open("test.txt", "r").name)

# os.remove("test2.txt")


# 1.5 目录操作
"""
可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。

语法：
    os.mkdir("newdir")
"""
# os.mkdir("test")


# 1.6 chdir()方法
"""
chdir()方法改变当前工作目录。

语法：
    os.chdir(path)
参数说明：
    path：要改变的目录。
"""

# 进入"test"目录
# os.chdir("test")
# os.mkdir("test1")


# 1.7 getcwd()方法
"""
getcwd()方法返回当前工作目录。

语法：
    os.getcwd()
"""
# print(os.getcwd())



# 1.8 rmdir()方法
"""
rmdir()方法删除一个目录。

语法：
    os.rmdir(path)
参数说明：
    path：要删除的目录。
"""
# print(os.getcwd())
# os.chdir("test")
# os.rmdir("test")
# print(os.getcwd())